package com.uzai.console.entity.es;

import com.uzai.common.enums.MessageTypeEnum;
import com.uzai.common.utils.EsIndexName;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.util.List;

/**
 * 发单群发消息
 * @Auther: lucher
 * @Date: 2022/1/16 17:08
 * @Description:
 */
@Data
@Document(indexName = EsIndexName.FD_GROUP_SEND_MSG, shards = 3, replicas = 2)
public class EsFdGroupSendMsg {
    private static final long serialVersionUID = -1025777426280742480L;

    //id
    @Id
    @Field(type = FieldType.Keyword)
    private String id;
    /**
     * 主任务id
     */
    @Field(type = FieldType.Long)
    private Long parentJobId;
    /**
     * 子任务id
     */
    @Field(type = FieldType.Long)
    private Long childJobId;
    /**
     * 消息（JSON对象）
     */
    @Field(type = FieldType.Text)
    private String msg;
    /**
     * 运营商id
     */
    @Field(type = FieldType.Long)
    private Long merId;
    /**
     * 设备唯一id
     */
    @Field(type = FieldType.Long)
    private Long deviceUniqueId;
    /**
     * 设备id
     */
    @Field(type = FieldType.Keyword)
    private String deviceId;
    /**
     * 设备类型
     */
    @Field(type = FieldType.Integer)
    private Integer deviceType;

    /**
     * 消息类型（）
     * @see MessageTypeEnum
     */
    @Field(type = FieldType.Integer)
    private Integer msgType;

    /**
     * 群wxid
     */
    @Field(type = FieldType.Keyword)
    private String bizUserId;

    /**
     * 群昵称
     */
    @Field(type = FieldType.Text)
    private String nickName;

    /**
     * 延迟时间
     */
    @Field(type = FieldType.Integer)
    private int delay;

    /**
     * 重复发送次数
     */
    @Field(type = FieldType.Integer)
    private int retry;

    /**
     * 原始延迟时间
     */
    @Field(type = FieldType.Integer)
    private int originalDelay;

    /**
     * 下一个消息是否为托(0-下一个消息不是托；1-下一个消息是托；2-自己是托）
     */
    @Field(type = FieldType.Integer)
    private int nextIsTuo;

    /**
     * 是托的话，保存上一条消息id
     */
    @Field(type = FieldType.Keyword)
    private String frontMsgId;

    @Field(type = FieldType.Long)
    private Long version = 0L;

    @Field(type = FieldType.Integer)
    private int createTime;

    @Field(type = FieldType.Integer)
    private int updateTime;



}
